# -*- coding: utf-8 -*-
from openpyxl import Workbook #这个模块好像只是写xlsx文件的
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html

#pipelines是默认不开启的，需要取settings里面去开启
class DangdangwangPipeline(object):

    def __init__(self): #这个是写入xlsx的操作
        #创建excel，填写表头
        self.wb = Workbook()
        self.ws = self.wb.active
        self.ws.append(['标题','链接','评论数量'])       #设置表头

    def process_item(self, item, spider):   #这个方法的名字也不能改，改了之后无法经过这个管道Dangdangwangipeline来处理的


        #第一种方法（现在证明这种方法写入数据，会删除原文件原有数据，再写入）
        # 从这里开始添加写入Excel的代码
        #注意，备注也要注意缩进！！！！不然会报错
        #必须使用循环一条一条的写，因为item["title"]是一个列表，他的长度远大于表头的3，会报错，他是列，但你是一行一行的写入
        for i in range(0, len(item["title"])):
            try:
                title = item["title"][i]
                link = item["link"][i]
                comment = item["comment"][i]
                line = [item["title"][i], item["link"][i], item["comment"][i]]  # 把数据中项整理出来
                self.ws.append(line)  # 将数据需要保存的项以行的形式添加到xlsx中
            except Exception as err:
                print(err)
        self.wb.save("C:\\Users\\DELL\\Desktop\\dangdang2.xlsx")  # 保存为xlsx文件
        return item


        #第二种方法写入数据库
        # TODO




